Field of the Disclosure
The present invention relates generally to computer systems, and more particularly to a system and method for securely waking a computer system over a network.
Description of the Related Art
Computer systems are ubiquitous in today's society. A common feature of computer systems is an ability to enter a “sleep” (or “standby” or “low power”) state to conserve power. Typically, “waking” a computer system in such a state is simple if one is in close proximity to the computer system: pressing a power button, a “wake-up” button, or triggering another local input device (such as a keyboard or a mouse) are typical means for locally waking a computer system.
However, with the increasing mobility and connectedness of computer systems, remote access to a computer system has also become a desirable capability. Network connections, e.g., via network interface controllers, can enable computer systems to communicate over local and/or wide area networks. However, if a computer is in a sleeping state, the computer system may be inaccessible to other computer systems via such a network.
Solutions for waking a computer system over a network have been proposed, but such solutions generally have significant associated problems. For example, if a sleeping computer device undergoes network address translation (NAT) (e.g., if the computer device is behind a router), this may interfere with transmission of a wake command. In some cases, such a sleeping device may be unable to receive a wake command unless proper de-militarized zone (DMZ)/port forwarding and static address resolution protocol (ARP) are set at the NAT router. This is complex and may not be desirable (e.g., for security reasons), or, in business situations, permitted by company policy.
Additionally; existing solutions provide no security. Using existing techniques, anyone could wake up a sleeping computing device if the IP address or MAC address is known. As a result, the sleeping computer could be accidentally woken as a result of receiving a packet that coincidentally matches a wake command, or intentionally woken for malicious purposes, e.g., by a hacker.
Accordingly, improvements in the field would be desirable.